# 01장 쿠버네티스

Assembled by GimunLee


# 쿠버네티스 소개

쿠버네티스란 컨테이너 오케스트레이션 시스템(Container Orchestration System)


# 컨테이너

  • 리눅스는 프로세스별로 자원을 격리해서 사용하는 cgroup과 특정 디렉터리로 권한을 제한하는 chroot 등으로 격리 환경 구성

  • 여기에 디스크의 파일 변경 사항을 레이어 형태로 저장하는 파일 시스템을 합해 컨테이너라는 개념 탄생

  • 도커는 이러한 기능들을 모아서 컨테이너를 손쉽게 사용할 수 있도록 제공

# 컨테이너와 가상 머신의 차이

  • 컨테이너에는 호스트 운영체제 위에 도커가 있고 바로 앱이 위치
  • 가상머신은 하이퍼바이저 위에 가상머신마다 게스트 운영체제가 있고 그 위에 앱이 위치

즉, 컨테이너가 구조상 레이어가 더 간단하므로 가상 머신보다 성능을 높이기 용이함

하이퍼바이저(hypervisor)는 호스트에서 다수의 운영체제를 동시에 실행하기 위한 논리적 플랫폼(platform)을 말한다. 가상화 머신 모니터 또는 가상화 머신 매니저(virtual machine monitor 또는 virtual machine manager, 줄여서 VMM)라고도 부른다.


# 컨테이너 오케스트레이션 시스템

  • 컨테이너 오케스트레이션 시스템으로 상용 서비스에 사용할 서버들을 **클러스터(여러 대의 서버를 묶어 시스템 하나로 구성하는 방식)**로 구성하면, 서버 1대든 100대든 컨테이너를 한 번의 명령으로 자동 배포 가능
  • 사용 중인 클러스터 일부에 장애가 발생하면 오케스트레이션 시스템은 알아서 장애가 발생한 서버에 있는 컨테이너들을 정상 운영 중인 다른 서버로 옮겨서 실행
  • 개발자는 사용 서비스의 안정성을 컨테이너 오케스트레이터에 맡겨 두고 장애가 발생한 서버 수정

# 쿠버네티스의 특징

# 간편한 선언적(declarative) API

  • 쿠버네티스에서 선언적 API란, 컨테이너가 어떤 상태이길 원하는지만 쿠버네티스에 설정하면 지속해서 컨테이너의 상태를 확인하고, 설정한 상태가 아니라면 그것에 맞게 맞추는 개념

# 워크로드 분리

  • 쿠버네티스는 운영체제처럼 분산된 프로세스의 관리를 추상화하는 레이어가 되므로 시스템 운영에 관한 고민을 많이 덜어줌

# 어디서나 실행 가능

  • 개인 컴퓨터에 쿠버네티스를 설치해서 사용해볼 수 있고, 여러 대 서버에 설치해서 사용할 수 있음
  • 단순한 테스트라면 쿠버네티스 설치 없이 웹에서도 사용해 볼 수 있음

# 활성화된 커뮤니티


# Referenses

  • 쿠버네티스 입문 - 90가지 예제로 배우는 컨테이너 관리 자동화 표준 / 동양북스
Last Updated: 8/12/2020, 1:33:42 PM